home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
LISTMANA
/
__TESTER
/
TESTERMA.C
< prev
next >
Wrap
C/C++ Source or Header
|
1989-06-25
|
4KB
|
204 lines
/**** */
/**** Code Testing System version 1.0 (beta) */
/**** */
/**** All portions of this source code are the property of Jack */
/**** Herrington. I, Jack Herrington, give you permission to use */
/**** use or alter the code in any way that pleases you. You must */
/**** however return by whatever means avaliable any improvements */
/**** you believe significant to Jack Herrington, accepting that */
/**** these improvements might be contained in later releases of */
/**** the code. I also grant you permission to remove this header */
/**** from any file you are WORKING on, as long as you put it back */
/**** when you're stopped WORKING on it. */
/**** */
/**** Jack Herrington: University Of Miami, Biomedical Computing */
/**** 1600 N.W. 10th Ave. (R-53) */
/**** (305) 547-6538 */
/**** */
/****/
/**** Tester main */
/****/
#define MAIN
#include "ListManager.h"
#include "Tester.h"
/****/
/**** Main event loop processor */
/****/
main()
{
unsigned char ch;
EventRecord ev;
WindowPtr win;
int st,hit,hand,wnum,fwr;
InitQuickDraw();
TestMenuSetup();
for(hand=0;;hand++)
{
if(Handlers[hand].preLaunch == (-1))break;
if(Handlers[hand].preLaunch == BOOT_FIRST)
{
TesterOpenHandler(hand);
}
}
bootHandler = (-1);
st=0;
while(st==0)
{
if(GetNextEvent(-1,&ev)==1)
{
if(IsDialogEvent(&ev)==TRUE)
{
if ( ev.what == updateEvt )
{
TesterUpdate(TesterFindProgWindow((WindowPtr)ev.message));
}
else if ( ev.what == activateEvt )
{
TesterActivate((WindowPtr)ev.message);
}
else if ( ev.what == keyDown || ev.what == autoKey )
{
ch = (unsigned char)(ev.message & charCodeMask);
TesterKey(TesterFindProgWindow(FrontWindow()),ch);
}
if(DialogSelect(&ev,&win,&hit)==TRUE)TesterHitInWindow(win,hit);
}
else
{
if (ev.what == mouseDown)
{
fwr=FindWindow(ev.where,&win);
if(FrontWindow()!=win && win!=0L)SelectWindow(win);
else st=TesterMouseClick(&ev,fwr,win);
}
}
}
if ( bootHandler != (-1) )
{
TesterOpenHandler(bootHandler);
bootHandler = (-1);
}
else SystemTask();
}
for(wnum=0;wnum<MAX_WINDOWS;wnum++)
{
if(Windows[wnum].window != 0L)TesterCloseWindow(wnum);
}
}
/****/
/**** Respond to a mouse click */
/****/
int TesterMouseClick(ev,fwr,win)
EventRecord *ev;
int fwr;
WindowPtr win;
{
Point fcp;
long ms;
int cw,st;
st=0;
switch(fwr)
{
case inMenuBar:
if((ms=MenuSelect(ev->where))==0)break;
st = TesterMenu(ms);
break;
case inDrag:
DragWindow(win,ev->where,&dragRect);
break;
case inSysWindow:
SystemClick(ev,win);
break;
case inGoAway:
if(TrackGoAway(win,ev->where)==1)
if((cw=TesterFindProgWindow(win))!=(-1))TesterCloseWindow(cw);
break;
case inGrow:
TesterSendGrow(TesterFindProgWindow(win));
break;
}
return st;
}
/****/
/**** Menu handler */
/****/
int TesterMenu(menuSel)
long menuSel;
{
int st;
st=0;
switch(HiWord(menuSel))
{
case 128:
RunDialog(3000);
break;
case 129:
st=(-1);
break;
case 130:
break;
case 131:
bootHandler = LoWord(menuSel)-1;
break;
}
HiliteMenu(0);
return st;
}
/****/
/**** Initialize all of the quickdraw stuff */
/****/
InitQuickDraw()
{
GrafPort myGrafPort;
int win;
/**** Initialize quickdraw */
InitGraf(&thePort);
OpenPort(&myGrafPort);
InitFonts();
InitWindows();
InitMenus();
TEInit();
InitDialogs(0L);
InitCursor();
/**** Create window drag area */
dragRect.left=5;
dragRect.top=32;
dragRect.bottom=thePort->portRect.bottom-16;
dragRect.right=thePort->portRect.right-5;
/**** Startup the random numbers */
GetDateTime(&randSeed);
/**** Reset the window */
for(win=0;win<MAX_WINDOWS;win++)
{
Windows[win].window = 0L;
Windows[win].data = 0L;
Windows[win].handler = (-1);
}
growBoxHandle=GetPicture(1001);
}